int a=10时,a>>=32,求a的值,怎样计算

来源:百度知道 编辑:UC知道 时间:2024/06/22 15:44:34
得到的结果是多少,为什么还是10,不是0,是怎么算的,不明白

这是个位移运算,就是将a的二进制值向右移32位,结果还是10,因为int类型的数据在在内存中是32位的二进制数,而位移运算对超过数据本身类型长度的数进行了取余操作,也就是32%32取余时0,也就是说a实际上没用进行位移操作,如果时a>>=33; 这个时候实际是a>>=1;结果是5

神工鬼斧的